package com.kylin.system.service;

import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.kylin.common.core.service.impl.TreeServiceImpl;
import com.kylin.system.entity.SysDept;
import com.kylin.system.mapper.SysDeptMapper;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 部门管理 服务实现
 * 
 * @author wuhao
 */
@Service
public class SysDeptService extends TreeServiceImpl<SysDeptMapper, SysDept>
{

    /**
     * 根据角色ID查询部门树信息
     * 
     * @param roleId 角色ID
     * @return 选中部门列表
     */
    public List<Integer> selectDeptListByRoleId(Long roleId)
    {
        return this.mapper.selectDeptListByRoleId(roleId);
    }


    /**
     * 查询部门是否存在用户
     * 
     * @param deptId 部门ID
     * @return 结果 true 存在 false 不存在
     */
    public boolean checkDeptExistUser(Long deptId)
    {
        int result = this.mapper.checkDeptExistUser(deptId);
        return result > 0 ;
    }
    
    /**
     * 新增
     * @param sysDept 部门对象
     * @return  
     * @author wuhao
     * @version 1.0.0 - 2023/4/10
     */
    @Override
    public int insert(SysDept sysDept) {
        int count = super.insert(sysDept);
        // 再更新下dept_id
        mapper.update(null, new UpdateWrapper<SysDept>().set("dept_id", sysDept.getId()).eq("id", sysDept.getId()));
        return count;
    }

}
